//variables globales
var detalle = new Array();
var detalle_ingreso_ubicar=new Array();
var cantidadTotal=0;
var contador=0;
// fin variables globales
$(document).ready(function() {
	
	
	$("#ubicacionSumiForm").validate();
	
	creaToolTips();

	
	Utiles_Botones.creaBotonLimpiar("btn_detalleUbicar_limpiar",limpiaFormulario);
	Utiles_Botones.creaBotonAceptar("btn_Aceptar",agregarDetalle);
	Utiles_Botones.creaBotonAceptar("btn_detalleUbicar",enviaUbicacion);
	Utiles_Botones.creaBotonCerrar("btn_salir",quitarMascara);

	$("#cmb_zona").change(llenarComboAlmacen);
	$("#cmb_almacen").click(llenarComboSubAlmacen);
	$("#cmb_subalmacen").click(llenarComboAmbiente);
	$("#cmb_ambiente").click(llenarComboPabellon);
	$("#cmb_pabellon").click(llenarComboEstante);
	$("#cmb_estante").click(llenarComboCasilla);

	$("#btn_Aceptar").click(agregarDetalle);
	
	$(".cmb1").width($(".td_izq").width());
	$("#cmb_almacen").attr("disabled", "enabled");
	$("#cmb_subalmacen").attr("disabled", "enabled");

});

/*----------funciones------------*/


function llenarComboAlmacen() {
	$("#cmb_almacen").html("");
	var zona = $("#cmb_zona").val();
	$.getJSON("almacen_en_zona", {
		zona : zona
	}, function(datos) {
		$.each(datos, function() {
			$("#cmb_almacen").append(
					$("<option></option>").attr("value", this.codAlmacen)
							.text(this.descripcion));
		});
		llenarComboSubAlmacen();
	});
	
}
function llenarComboSubAlmacen() {
	$("#cmb_subalmacen").html("");
	var almacen = $("#cmb_almacen").val();
	$.getJSON("subalmacen_en_almacen", {
		almacen : almacen
	}, function(datos) {
		$.each(datos, function() {
			$("#cmb_subalmacen").append(
					$("<option></option>").attr("value", this.codigo)
							.text(this.descripcion));
		});
	});
}
function llenarComboAmbiente() {
	$("#cmb_ambiente").html("");
	var subalmacen = $("#cmb_subalmacen").val();
	$.getJSON("ambiente_en_subalmacen", {
		subalmacen : subalmacen
	}, function(datos) {
		$.each(datos, function() {
			$("#cmb_ambiente").append(
					$("<option></option>").attr("value", this.codAmbiente)
							.text(this.descripcion));
		});
	});
}
function llenarComboPabellon() {
	$("#cmb_pabellon").html("");
	var ambiente = $("#cmb_ambiente").val();
	$.getJSON("pabellon_en_ambiente", {
		ambiente : ambiente
	}, function(datos) {
		$.each(datos, function() {
			$("#cmb_pabellon").append(
					$("<option></option>").attr("value", this.codPabellon)
							.text(this.descripcion));
		});
	});
}
function llenarComboEstante() {
	$("#cmb_estante").html("");
	var pabellon = $("#cmb_pabellon").val();
	$.getJSON("estante_en_pabellon", {
		pabellon : pabellon
	}, function(datos) {
		$.each(datos, function() {
			$("#cmb_estante").append(
					$("<option></option>").attr("value", this.codEstante)
							.text(this.descripcion));
		});
	});
}
function llenarComboCasilla() {
	$("#cmb_casilla").html("");
	var estante = $("#cmb_estante").val();
	$.getJSON("casilla_en_estante", {
		estante:estante
	}, function(datos) {
		$.each(datos, function() {
			$("#cmb_casilla").append(
					$("<option></option>").attr("value", this.codCasilla)
							.text(this.descripcion));
		});
	});
}
function enviaUbicacion(){
	cantidad= (isNaN(parseFloat($("#lbl_cantidad").html())))?0:parseFloat($("#lbl_cantidad").html());
	var cantidadEnviar=0;
	 $.each(detalle_ingreso_ubicar, function(){
		 cantidadEnviar=((isNaN(parseFloat(cantidadEnviar)))?0:parseFloat(cantidadEnviar))+((isNaN(parseFloat(this.cantidad)))?0:parseFloat(this.cantidad));	
      });
	 if(cantidadEnviar==cantidad){
			var fields = $("#ubicacionSumiForm").serializeObject();
			var s="";
			$.each(fields, function(){
		        s += this + " ";
		      });
			Utiles_MensajesDialogo.showMensajeConfirmacion("Desea guardar la ubicacion??",function(result){
				if(result=="Si"){
					
					var obj = new Object();
					obj.detalle = detalle_ingreso_ubicar;
					fields.detalle = obj;

					//$(document).ajaxStart(function(){ 
						 $.blockUI({ 
					            centerY: 0, 
					            message: "<h1>Espere un momento!!</h1>",
					            css: { top: '10px', left: '', right: '10px' } 
					        }); 
					//});
					
					$.postJSON('guardar_ubicacion', fields, function(respuesta) {	
						if(respuesta.idsuministro!=""){
							Utiles_MensajesDialogo.showMensajeExito();
							buscaIngreso();
							limpiaFormulario();
							
						}
						else
							Utiles_MensajesDialogo.showMensajeFracaso();
					});
					$.unblockUI(); 
					
				}
				else{
					
				}
			});
	 }
	 else{
		 Utiles_MensajesDialogo.showMensajeAlerta("La cantidad ingresada debe ser igual a la total");
	 }

	
}
function agregarDetalle(){
	if($("#ubicacionSumiForm").valid()){
		if($("#cantidad").val()!=""){

				var is_existe=false;
		 		$.each(detalle_ingreso_ubicar, function(){
			        if(this.codCasilla==$("#cmb_casilla").val()){
			        	is_existe=true;
			        }
			      });
		 		if(is_existe){
		 			Utiles_MensajesDialogo.showMensajeAlerta("La casilla ya fue seleccionada");
		 			return false;
		 		}
		 		else{
		 			cantidadIngresada=(isNaN(parseFloat($("#cantidad").val())))?0:parseFloat($("#cantidad").val());
					cantidadTotal= cantidadTotal+cantidadIngresada;
					cantidad= (isNaN(parseFloat($("#lbl_cantidad").html())))?0:parseFloat($("#lbl_cantidad").html());
					if(cantidad>=cantidadTotal){
						
						 detalle_ingreso_ubicar[detalle_ingreso_ubicar.length]={codSuministro:$("#lbl_suministro").html(),codZona:$("#cmb_zona").val(),codAlmacen:$("#cmb_almacen").val(),codSubalmacen:$("#cmb_subalmacen").val(),codAmbiente:$("#cmb_ambiente").val(), codPabellon:$("#cmb_pabellon").val(), codEstante:$("#cmb_estante").val(), codCasilla:$("#cmb_casilla").val(),cantidad:$("#cantidad").val(),ingreso:$("#lbl_ingreso").html()};
						 cadena = "<tr class='data'>";
					     cadena = cadena + "<td>" + $("#cmb_ambiente option:selected").html() + "</td>";
					     cadena = cadena + "<td>" + $("#cmb_pabellon option:selected").html() + "</td>";
					     cadena = cadena + "<td>" + $("#cmb_estante option:selected").html()  + "</td>";
					     cadena = cadena + "<td>" + $("#cmb_casilla option:selected").html() + "</td>";
					     cadena = cadena + "<td>" + $("#cantidad").val() + "</td></tr>";
					     $("#tb_sumiUbica").append(cadena);
					     contador=contador+1;
					}
					else{
						Utiles_MensajesDialogo.showMensajeAlerta("La cantidad ingresada no debe superar el total");
						cantidadTotal= cantidadTotal-cantidadIngresada;
						return false;
						
					}
		 		}
			
		}	
		else{
			Utiles_MensajesDialogo.showMensajeAlerta("Debe ingresar una cantidad");
			return false;
		}

	}
	
}
function limpiaFormulario(){
	$("#ubicacionSumiForm").reset();
	detalle_ingreso_ubicar=jQuery.grep(detalle_ingreso_ubicar, function(value) {
	    return value ;
	});
	$("#tb_sumiUbica>tbody>tr.data").remove();
    detalle_ingreso_ubicar=new Array();
    cantidadTotal=0;
    contador=0;
}
function quitarMascara(){
	$.unblockUI(); 
}



